bitkeeper revision 1.1159.1.219 (416a9e3bO5_6f1e0AMMNVRk0kCNWpQ)
authormafetter@fleming.research <mafetter@fleming.research>
Mon, 11 Oct 2004 14:52:43 +0000 (14:52 +0000)
committermafetter@fleming.research <mafetter@fleming.research>
Mon, 11 Oct 2004 14:52:43 +0000 (14:52 +0000)
Bug fix, from code inspection.

MMUEXT_TRANSFER_PAGE error case would have inappropriately caused an
ASSERT, due to a "break" statement getting caught by a while loop, rather
than the intended switch statement.

BitKeeper/etc/logging_ok
xen/arch/x86/memory.c

index 125ee3ffd9f39190b133bd911e3a4c0919def464..529c88199e4a852182a54c2ac9b2d13fd97e14df 100644 (file)
@@ -30,6 +30,7 @@ kaf24@scramble.cl.cam.ac.uk
 kaf24@striker.cl.cam.ac.uk
 laudney@eclipse.(none)
 lynx@idefix.cl.cam.ac.uk
+mafetter@fleming.research
 maw48@labyrinth.cl.cam.ac.uk
 mjw@wray-m-3.hpl.hp.com
 mwilli2@equilibrium.research
index ad6059e18520df16ad69761c6e608f00c153298e..c9e617e2421ec4445889cca721c44678d065f25d 100644 (file)
@@ -1156,6 +1156,7 @@ static int do_extended_command(unsigned long ptr, unsigned long val)
                 : "0" (d), "1" (x), "c" (NULL), "b" (x) );
         } 
         while ( unlikely(nd != d) || unlikely(y != x) );
+       if (!okay) break;
 
         /*
          * Unlink from 'd'. At least one reference remains (now anonymous), so